User-Level Threads and Interprocess Communication

نویسندگان

  • Michael J. Feeley
  • Edward D. Lazowska
چکیده

User-level threads have performance and exibility advantages over both Unix-like processes and kernel threads. However, the performance of user-level threads may su er in multiprogrammed environments, or when threads block in the kernel (e.g., for I/O). These problems can be particularly severe in tasks that communicate frequently using IPC (e.g., multithreaded servers), due to interactions between the user-level thread scheduler and the operating system IPC primitives. E cient IPC typically involves processor hando that blocks the caller and unblocks a thread in the callee; when combined with user-level threads, this can cause problems for both caller and callee, particularly if the caller thread should subsequently block. In this paper we describe a new user-level thread package, called OThreads, designed to support blocking and e cient IPC for a system based on traditional kernel threads. We discuss the extent to which these problems can be solved at the user level without kernel changes such as scheduler activations. Our conclusion is that problems caused by application-controlled blocking and IPC can be resolved in the user-level thread package, but that problems due to multiprogramming workload and unanticipated blocking such as page faults require kernel changes such as scheduler activations.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A Program Execution Model Based on Generative Dynamic Grammars

The term “context-free grammar” invariably implies use of a static, unchanging set of grammar rules. When this constraint is removed, dynamic grammars result. In the past, use of dynamic grammars has been relegated to semantics work. However, we show that by defining and interpreting dynamic grammars appropriately, we can create a new grammar-based program execution model. This model unifies di...

متن کامل

Visual Speciication of Interprocess and Intraprocess Communication Visual Speciication of Interprocess and Intraprocess Communication

We present a visual speciication language for constructing distributed applications and their direct manipulation graphical user interfaces. Each distributed application consists of a collection of independent modules and a connguration of logical connections that deene communication among the data interfaces of the modules. Our speciication language uses a single visual mechanism that allows e...

متن کامل

Chant: Lightweight Threads in a Distributed Memory Environment

Lightweight threads are becoming increasingly useful in supporting parallelism and asynchronous events in applications and language implementations. Traditionally, lightweight threads are supported only within the single address space of a process, or in shared memory environments with multiple processes. We introduce and describe the design of Chant, a runtime system supporting lightweight thr...

متن کامل

Visual Specification of Interprocess and Intraprocess Communication

We present a visual specification language for constructing distributed applications and their direct manipulation graphical user interfaces. Each distributed application consists of a collection of independent modules and a configuration of logical connections that define communication among the data interfaces of the modules. Our specification language uses a single visual mechanism that allo...

متن کامل

The File System Belongs in the Kernel

This paper argues that a shared, distributed name space and I/O interface should be implemented inside the operating system kernel. The grounding for the argument is a comparison between the Sprite network operating system and the Mach microkernel. Sprite optimizes the common case of file and device access, both local and remote, by providing a kernel-level implementation. Sprite also allows fo...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1993